This Background is intended to provide the basic context of this patent application and it is not intended to describe a specific problem to be solved.
With the advent of fast graphics hardware and the generation of three dimensional (3D) content, 3D navigation is becoming important as users are finding themselves immersed more and more in 3D. Map applications like Virtual Earth and Google Earth enable a user to fly in 3D to realistic cities, to see what it looks like to be there. From real estate to golf courses, people are navigating 3D worlds to browse them for a sense of being there.
Unfortunately, navigating in 3D is difficult for a novice user. The user must fly up and down in altitude as well as moving on a flat plane. In addition, the virtual camera can roll, pitch, or yaw, adding more headaches for navigation. To avoid these problems, current solutions restrict how the user can navigate. For example, in games, a 3D avatar primarily walks on the ground, so the user can click the 2D ground and the avatar walks towards it. Although the world 3D, the navigation is on the 2D ground.
In other 3D applications, the view may also change in altitude (e.g. flying off the ground). In a flight simulator, 3D navigation is restricted to relative actions. In other words, the jet or airplane is moving in a forward direction, the user can change the relative direction of the plane. For example, pressing the ‘up’ key pushes the nose of the plane down, causing it to the travel in a downward direction. In 3D map applications like Virtual Earth, 3D navigation is restricted to two primary modes: 1) zooming into the map (e.g. changing altitude) and 2) panning on the map (e.g. translating on a plane at a given altitude).
Restricting the 3D navigation controls makes it easier to fly in 3D. Unfortunately, this form of navigation also neglects interesting views, which may be useful for a user. For example, to navigate to Seattle in 3D, the novice user will most likely pan over to the west coast of the US, zoom in, pan again to the north part of the coast, zoom in again, pan to the Puget Sound, zoom in, pan again to the city and finally zoom in. While this flight will eventually get a novice user to Seattle, it is not the most intuitive flight when users think of entering Seattle.